// pages/user_opt/user_opt.js
const SERVER = require("../../interfaces/interface")

Page({

  /**
   * 页面的初始数据
   */
  data: {
    account:"",
    nickName:"",
    password:"******",
    server:""
  },

  loginJudge(){
    if(!SERVER.has_login())
    {
      wx.showModal({
        title:"您尚未登录",
        content:"是否立即登录",
        success:(res)=>{
          if(res.confirm)
          {
            getApp().loginJump()
          }
        }
      })
      return false
    }
    return true
  },

  async changeName(){
    if(!this.loginJudge())
    {
      return
    }
    let name
    try{
      name = await new Promise(function(resolve,reject){
        wx.showModal({
          title: "你的新昵称",
          editable: true,
          placeholderText: "不超过7个汉字长度",
          success: (res) => {
            if (res.confirm) {
              resolve(res.content)
            }
            else reject("cancel")
          },
          fail: () => {
            reject("fail")
          }
        })
      })
    }catch{
      return
    }
    let result = await SERVER.updateUserInfo({
      name:name
    })
    console.log(result)
    if(result.status=="success")
    {
      wx.showToast({
        title: '修改成功',
      })
      getApp().setAccountInfo({
        nickName:name
      })
      this.onShow()
    }
    else if(result.status=="fail")
    {
      let msg = result.res.msg
      if(msg.length>7)
      {
        msg = "修改失败"
      }
      wx.showToast({
        title: msg,
        icon:"error"
      })
    }
    else{
      wx.showToast({
        title: "异常错误",
        icon:"error"
      })
    }
  },

  async changePassword(){
    if(!this.loginJudge())
    {
      return
    }
    let pwd
    try {
      wx.navigateTo({
        url: './pwd_setting/pwd_setting'
      })
    } catch (error) {
      
    }
  },

  async changeServer(){
    getApp().changeServer()
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    let info = getApp().getAccountInfo()
    this.setData({
      account:info.account,
      nickName:info.nickName,
      server:SERVER.get_http_head()
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})